/*
 * EBFactuurOverzicht.java
 *
 * Created on 3 juni 2008, 8:47
 */

package energiebedrijf;

import energiebedrijf.Classes.*;
import java.util.Date;
import java.util.List;
import org.jdesktop.application.Action;

/**
 * Laat een factuur overzicht zien
 * @author  pdb
 */
public class EBFactuurOverzicht extends javax.swing.JDialog {

    /** Maakt het factuur overzicht aan */
    public EBFactuurOverzicht(java.awt.Frame parent, boolean modal, List klantlist) {
        super(parent, modal);
        initComponents();
        this.setLocationRelativeTo(parent);
        
        int count = 0;
        int size = klantlist.size();
        txtFactuur.setText("Factuur overzicht:\r\n\r\n");
        
        while (count < size) {
            Klant klant = (Klant)klantlist.get(count);
            txtFactuur.setText(txtFactuur.getText() + "Klant:\r\n");
            txtFactuur.setText(txtFactuur.getText() + "  ID: " + klant.getKlantId().toString() + "\r\n");
            txtFactuur.setText(txtFactuur.getText() + "  Naam: " + klant.getKlantNaam() + "\r\n");
            txtFactuur.setText(txtFactuur.getText() + "  Adres: " + klant.getStraat() + " " + klant.getHuisnummer() + "\r\n");
            txtFactuur.setText(txtFactuur.getText() + "         " + klant.getPostcode() + " " + klant.getPlaats() + "\r\n\r\n");
            
            if (klant.getPerceelCollection().size() > 0) {
                txtFactuur.setText(txtFactuur.getText() + "  Percelen:\r\n");
                for (Perceel p : klant.getPerceelCollection()) {
                    txtFactuur.setText(txtFactuur.getText() + "    ID: " + p.getPerceelId().toString() + "\r\n");
                    txtFactuur.setText(txtFactuur.getText() + "    Adres: " + p.getStraatnaam() + " " + p.getHuisnummer() + "\r\n");
                    txtFactuur.setText(txtFactuur.getText() + "           " + p.getPostcode() + " " + p.getPlaats() + "\r\n\r\n");
                    
                    txtFactuur.setText(txtFactuur.getText() + "    Gas aansluiting: " + p.getGasAansluiting() + "\r\n");
                    if (p.getGas() != null) {
                        txtFactuur.setText(txtFactuur.getText() + "    Ingangsdatum: " + p.getGas().getIngangsdatum().toString() + " Verbruik:" + Integer.toString(p.getGas().getVerbruik()) + "\r\n");
                    }   
                    
                    txtFactuur.setText(txtFactuur.getText() + "    Water aansluiting: " + p.getWaterAansluiting() + "\r\n");
                    if (p.getWater() != null) {
                        txtFactuur.setText(txtFactuur.getText() + "    Ingangsdatum: " + p.getWater().getIngangsdatum().toString() + " Verbruik:" + Integer.toString(p.getWater().getVerbruik()) + "\r\n");
                    }
                    
                    txtFactuur.setText(txtFactuur.getText() + "    Electriciteits aansluiting: " + p.getElectriciteitAansluiting() + "\r\n");
                    if (p.getElectriciteit() != null) {
                        txtFactuur.setText(txtFactuur.getText() + "    Ingangsdatum: " + p.getElectriciteit().getIngangsdatum().toString() + " Verbruik:" + Integer.toString(p.getElectriciteit().getVerbruik()) + " Verbruiknacht:" + Integer.toString(p.getElectriciteit().getVerbruikNacht()) + "\r\n");
                    }
                    
                    p.setFactuurDatum(new Date());
                }
            } else {
                txtFactuur.setText(txtFactuur.getText() + "  Geen percelen!\r\n");
            }
            
            txtFactuur.setText(txtFactuur.getText() + "\r\n");
            count++;
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        txtFactuur = new javax.swing.JTextPane();
        btnSluiten = new javax.swing.JButton();

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(energiebedrijf.EnergieBedrijfApp.class).getContext().getResourceMap(EBFactuurOverzicht.class);
        setTitle(resourceMap.getString("Form.title")); // NOI18N
        setName("Form"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        txtFactuur.setName("txtFactuur"); // NOI18N
        jScrollPane1.setViewportView(txtFactuur);

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(energiebedrijf.EnergieBedrijfApp.class).getContext().getActionMap(EBFactuurOverzicht.class, this);
        btnSluiten.setAction(actionMap.get("btnSluiten_Click")); // NOI18N
        btnSluiten.setText(resourceMap.getString("btnSluiten.text")); // NOI18N
        btnSluiten.setName("btnSluiten"); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
                    .addComponent(btnSluiten))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 237, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(btnSluiten)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
     * Sluit het scherm
     */
    @Action
    public void btnSluiten_Click() {
        this.setVisible(false);
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnSluiten;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextPane txtFactuur;
    // End of variables declaration//GEN-END:variables

}
